工控網(wǎng)首頁
>

應用設計

>

空間機器人中央計算機的雙機熱備份

空間機器人中央計算機的雙機熱備份

2014/2/26 12:12:27
1 雙機熱備份系統(tǒng)的硬件平臺設計

考慮到空間機器人中央控制計算機的雙機熱備份系統(tǒng)的特殊性,所構建的硬件平臺如圖1所示。

t1.gif 

互為備份的中央控制計算機采用完全相同的設計,通過內部和外部的CAN總線與控制模塊和指令系統(tǒng)分別相連。熱備份時,主、備機從CAN總線上同時接收數(shù)據(jù),但只有主機可以通過CAN總線向外部輸出指令及控制數(shù)據(jù)。

主備機之間通過RS485總線相連,實現(xiàn)雙機之間數(shù)據(jù)監(jiān)測和同步等功能。在主機和備機的PIO口分別引出一條心跳線,定時發(fā)出脈沖信號,用來檢查判斷對方機是否具備基本運行能力。雙機進行切換時,通過仲裁邏輯電路改變雙機系統(tǒng)的當班權,完成系統(tǒng)的切換操作。

1.gif 

2 雙機熱備份策略

為保證空間機器人系統(tǒng)正常、穩(wěn)定地運行,根據(jù)空間機器人中央控制計算機雙機熱備份系統(tǒng)的特點,主備雙機需要根據(jù)系統(tǒng)的同步數(shù)據(jù)和心跳信號對對方機的運行情況進行監(jiān)測,保持主備雙機同步運行。當系統(tǒng)發(fā)生故障時利用系統(tǒng)同步數(shù)據(jù)和心跳信號,定位系統(tǒng)發(fā)生的故障,并對故障源進行判斷,完成切換。在切換后,系統(tǒng)將嘗試恢復故障,整個策略示意如圖2所示。

2.gif 

2.1 心跳信號

心跳信號是該中央控制計算機運行時發(fā)送的周期性脈沖信號,是中央控制計算機正常運行的判斷依據(jù)。

主備雙機可以通過對對方機心跳信號的監(jiān)測,來判斷對方機是否正常運行,同時心跳信號也是裁決故障時的一種輔助判據(jù)。當發(fā)現(xiàn)備機無心跳信號時,主機切換到單機模式,備機由外部指令系統(tǒng)進行處理;當發(fā)現(xiàn)主機無心跳信號時,備機獲得當班權變?yōu)橹鳈C并進行輸出,主機交由外部指令系統(tǒng)處理。

2.2 同步監(jiān)測

雙機同步是雙機熱備份系統(tǒng)能夠正常進行系統(tǒng)監(jiān)測,對故障進行正確判斷的基礎。正確的同步策略是雙機系統(tǒng)能夠及時檢測出軟件故障并執(zhí)行正確切換動作的前提,也是保證系統(tǒng)在故障發(fā)生之后成功恢復的關鍵要素。

為了保證雙機能夠長期、穩(wěn)定地處于同步之中,維持系統(tǒng)正常運行,制定4項關鍵同步方法。

①雙機時鐘周期同步。當主備雙機上電后,在主機啟動周期定時器的同時,應同時向備機發(fā)出消息,通知備機啟動周期定時器。由于空間機器人系統(tǒng)以生命周期為單位執(zhí)行任務,所以生命周期的同步是整個系統(tǒng)保持同步的基礎。若該操作失敗,必須重新進行周期定時器的同步。

②雙機任務初始化同步。為保證主備雙機任務在同一時間啟動,應在任務啟動指令傳遞到主機時,由主機向備機發(fā)出指令,啟動備機任務,使備機進人工作模式,其具體步驟如圖3所示。

3.gif 

③雙機同步數(shù)據(jù)的實時監(jiān)測。機器人執(zhí)行任務期間,主備雙機將在每個系統(tǒng)生命周期的開始向對方機發(fā)送同步數(shù)據(jù),并將收到的數(shù)據(jù)與自身數(shù)據(jù)進行比對,完成對系統(tǒng)同步數(shù)據(jù)的實時監(jiān)測。

為保證對系統(tǒng)監(jiān)測的全面性和判斷故障的準確性,提取任務號、任務階段號、系統(tǒng)周期、實際關節(jié)角度以及一個隨機碼作為系統(tǒng)的同步數(shù)據(jù),如表1所列。

④雙機再同步。當發(fā)現(xiàn)雙機系統(tǒng)的數(shù)據(jù)出現(xiàn)兩個周期以內的超前或滯后現(xiàn)象時,不認為發(fā)生系統(tǒng)故障而進行切換,而是直接更新備機同步數(shù)據(jù),使備機重新與主機同步。

2.3 裁決邏輯

裁決是雙機熱備份系統(tǒng)中至關重要的一個環(huán)節(jié)。誘發(fā)空間機器人系統(tǒng)出現(xiàn)故障的原因很多,在其工作的空間環(huán)境中存在著大量高能粒子,極易使中央控制計算機電位發(fā)生反轉造成系統(tǒng)失常。通信線路的故障和隨機產(chǎn)生的誤碼率也很容易造成系統(tǒng)失常。通過分析總結,空間機器人系統(tǒng)最易出現(xiàn)3種故障類型,即雙機通信線路故障、系統(tǒng)任務流程故障和系統(tǒng)控制數(shù)據(jù)故障。為保證雙機熱備份系統(tǒng)及時、準確地檢測故障,判斷故障源,做出正確的切換動作,分別為3種故障制定相應的故障裁決邏輯。

(1)雙機通信線路故障

裁決邏輯:當RS485接收模塊連續(xù)3周期沒有接收到對方的同步數(shù)據(jù)時,給出故障信號。為避免計算機重復進行裁決判斷,停止同步數(shù)據(jù)發(fā)送,同時檢測備機心跳信號。若備機心跳信號停止,則由主機主動停止備機電源;若對方心跳信號正常,則由外部指令決定備機狀態(tài)。其實現(xiàn)流程如圖4所示。

4.gif 

(2)雙機任務流程故障

為有效、準確地判斷雙機任務流程故障,借助隨機碼表來對其進行輔助判斷。隨機碼表是一個32×16的二維short型數(shù)組,數(shù)組中的各個元素互不相同,查詢生成同步數(shù)據(jù)隨機碼的公式如下:

f1.gif 

式中X為隨機碼表行號,Y為隨機碼表列號,TaskID為任務號,PhaseNum為任務階段號,ClcNum為任務周期號。

主備雙機存儲同一份隨機碼表,利用上述公式確定每周期的隨機碼作為同步數(shù)據(jù),發(fā)送給對方機。這樣做大大簡化了裁決邏輯,也可檢測出CPU邏輯運算單元的錯誤。

裁決邏輯:主備機首先比較同步數(shù)據(jù)中隨機碼,若隨機碼不同,則進一步比較任務號、階段號、周期號。若比較結果相同,則給出計算機邏輯運算故障信號;若不同,將對方同步數(shù)據(jù)與己方前后兩周期數(shù)據(jù)比較。若發(fā)現(xiàn)匹配數(shù)據(jù),進行備機與主機再同步;若失敗,給出任務流程故障信號。其實現(xiàn)程序流程如圖5所示。

5.gif 

故障源判斷:

情況1,若系統(tǒng)出現(xiàn)計算機邏輯運算故障,則查詢上一周期同步數(shù)據(jù)隨機碼,且與上一周期保存的歷史數(shù)據(jù)隨機碼相比較,并根據(jù)比較結果進行切換。

情況2,若系統(tǒng)出現(xiàn)流程故障,則將當前系統(tǒng)同步數(shù)據(jù)中的任務號、階段號和周期號與自身歷史數(shù)據(jù)進行比較。根據(jù)任務號、階段號、周期號是遞增并且不會發(fā)生突變這一原則進行判斷,確定故障源,如圖6所示。

6.gif 

(3)雙機控制數(shù)據(jù)故障

裁決邏輯:空間機器人的運動一般分為兩種模式,一種是預先規(guī)劃固定軌跡的運動,另一種是相對于目標的自主運動。主備雙機根據(jù)機器人不同的運動狀態(tài),比較同步數(shù)據(jù)中的控制關節(jié)角度,配合誤差容忍度給出系統(tǒng)控制數(shù)據(jù)故障信號。

故障源判斷:在固定規(guī)劃軌跡的模式下,控制數(shù)據(jù)預先給定,可以將雙機數(shù)據(jù)與正確數(shù)據(jù)對比,確定故障源;在自主運動模式下,關節(jié)的速度和位移是平滑變化的,不可能發(fā)生突變,可以利用關節(jié)的最大角速度、最大角加速度、末端的最大速度和最大加速度等邊界值對當前數(shù)據(jù)進行邊界檢測,從而判斷出故障源,如圖7所示。

7.gif 

另外,當雙機系統(tǒng)對故障源的判斷發(fā)生矛盾時,將交由外部指令系統(tǒng)對其進行處理。

2.4 系統(tǒng)恢復

為保證空間機器人中央控制計算機能夠長期、穩(wěn)定地運行,就需要使其具有從故障狀態(tài)恢復的能力。根據(jù)其故障原因,分3種情況進行制定:

①系統(tǒng)裁定備機故障,主機正常,此時主機切換為單機模式繼續(xù)正常執(zhí)行任務,備機復位重啟并通知主機,主機切換到雙機同步模式,備機重新與主機同步,恢復系統(tǒng)正常運行。

②系統(tǒng)裁定主機故障,備機正常,此時主機讓權,進行切換,備機得權后變?yōu)橹鳈C,并切換到單機模式繼續(xù)執(zhí)行系統(tǒng)任務;而主機讓權后變?yōu)閭錂C,復位重啟后與主機重新進行同步,恢復系統(tǒng)的正常運行。

③系統(tǒng)失步,即備機周期超前或滯后于主機,這種情況并不是造成系統(tǒng)故障,不進行切換動作。此時主機依然正常執(zhí)行系統(tǒng)任務,備機利用主機的同步數(shù)據(jù)更新自身狀態(tài),與主機進行再同步。

3 雙機熱備份系統(tǒng)軟件設計

基于中央控制計算機雙機熱備份系統(tǒng)的硬件環(huán)境和策略的制定,將其軟件設計為6個模塊,并基于強實時性操作系統(tǒng)VxWorks進行實現(xiàn)。該操作系統(tǒng)提供的分布消息隊列機制支持系統(tǒng)軟件的容錯設計,其強實時性也滿足空間機器人任務的要求。首先,根據(jù)策略的制定,設計心跳任務、同步任務、故障裁決任務和系統(tǒng)恢復任務,另外根據(jù)雙機通信的需要設計RS485總線發(fā)送任務和RS485總線接收任務。它們的功能如下:

①心跳任務,任務名HeartBeat。周期性地檢測對方機發(fā)送的心跳信號,若發(fā)現(xiàn)無心跳信號,則通知故障裁決任務進行故障裁決。

②同步任務,任務名Synchronize。根據(jù)同步策略中的初始化同步過程進行系統(tǒng)時鐘和任務的初始化同步,并周期性地監(jiān)視系統(tǒng)同步數(shù)據(jù)。若發(fā)現(xiàn)系統(tǒng)同步數(shù)據(jù)異常,則通知故障裁決任務進行系統(tǒng)故障的裁決。

③故障裁決任務,任務名ExecSwitch。根據(jù)不同的故障情況,依據(jù)前面敘述的裁決過程對系統(tǒng)故障源進行判斷,并根據(jù)結果進行切換操作,保障系統(tǒng)正常運行。另外,通知系統(tǒng)恢復任務并嘗試對系統(tǒng)進行恢復。

④ 系統(tǒng)恢復任務,任務名Reconfigure。根據(jù)系統(tǒng)恢復策略嘗試對故障機進行恢復,出現(xiàn)“失步”現(xiàn)象時,依據(jù)再同步過程對備機進行再同步。
它們之間的協(xié)作關系如圖8所示。

8.gif 

⑤RS485總線接收及發(fā)送任務,任務名Receive485、Send485。負責雙機的通信,主要包括控制消息的解析,同步數(shù)據(jù)的接收與發(fā)送。
在RS485總線通信任務中,通信數(shù)據(jù)格式定義如下:

c2.gif 

其中,為RS485通信數(shù)據(jù)加入起始Start和結尾End位,保證RS485通信任務傳遞數(shù)據(jù)的正確性;Command為雙機熱備份系統(tǒng)的控制命令,如同步系統(tǒng)時鐘指令、任務同步指令等;Syn_data為雙機同步數(shù)據(jù),它的數(shù)據(jù)結構定義如下:

c3.gif 

其中,關節(jié)數(shù)據(jù)以double類型計算,但在雙機通信中轉化為16位整數(shù)進行傳遞,節(jié)省數(shù)據(jù)流量;Result為裁決結果,雙機將比較裁決結果。如果一致則進行相應處理,如果矛盾將由指令系統(tǒng)進行處理。

雙機熱備份系統(tǒng)的軟件由以上6個模塊組成,對系統(tǒng)進行監(jiān)測、裁決、恢復,保證中央控制計算機長期、穩(wěn)定地運行。

4 雙機熱備份系統(tǒng)驗證

當中央控制計算機啟動后,主機將向備機發(fā)出同步系統(tǒng)周期指令,同步系統(tǒng)周期時間;在外部指令系統(tǒng)啟動主機任務的同時,主機將發(fā)出指令啟動備機任務。主機從接收指令到備機同步啟動任務所需時間為1 420 ms,備機從接收指令到啟動任務所需時間為1180 ms。該雙機系統(tǒng)可以快速啟動并進行同步。
在運行過程中,利用錯誤注入的測試方法,預先在程序中注入錯誤,系統(tǒng)檢測到錯誤后,能夠快速的切換,并且備機可以及時更新系統(tǒng)數(shù)據(jù),與主機進行再同步,從切換完成到重新同步的平均時間為592 ms內,滿足空間機器人任務的強實時性要求。

結語

本研究在綜合考慮空間環(huán)境及機器人任務特殊性的基礎上,實現(xiàn)了一種獨特的雙機熱備份系統(tǒng)。依據(jù)可能出現(xiàn)的故障類型,設計了心跳策略、同步策略、裁決切換策略和恢復策略,并基于 VxWorks操作系統(tǒng)實現(xiàn)了雙機熱備份系統(tǒng)的軟件。經(jīng)驗證,該系統(tǒng)具有較好容錯能力,可增強空間機器人系統(tǒng)在復雜空間環(huán)境下執(zhí)行任務的可靠性,適合在空間機器人系統(tǒng)中應用。

參考文獻

   1. Machida K.Mikami T Precise EV Robot:Flight Model and Telerobotic Operation for ETS-VII 2008
   2. Chen Ing-Ray.Bastani Farokh B Warm Standby in Hierarchically Structured Process-Control Programs 2008
   3. 楊玲.黃海.侯穎 基于分布存儲的嵌入式系統(tǒng)雙機備份設計 [期刊論文] -計算機與現(xiàn)代化2007(2)
   4. Chen C H.Ting Y.Lu W B.Wang G K Recovery Mechanism Design for Hot Standby Computer System 2008
   5. 鄺堅 Tornado/VxWorks 入門與提高 2004

     
作者:北京郵電大學 劉喆  孫漢旭  賈慶軒  史國振   
投訴建議

提交

查看更多評論
其他資訊

查看更多

工業(yè)機器人控制系統(tǒng)的開放體系結構

工業(yè)機器人離線編程及無碰撞路徑規(guī)劃系統(tǒng)的開發(fā)研究

工業(yè)機器人手臂結構的有限元分析與研究

工業(yè)機器人通用控制器研究開發(fā)

工業(yè)機器人網(wǎng)絡控制與編程